package ru.amse.baltijsky.javascheme.exporter.stream;

import ru.amse.baltijsky.javascheme.tree.SchemaNode;
import ru.amse.baltijsky.javascheme.tree.walker.ITreeWalker;

import java.io.PrintWriter;

/**
 * Exports schema tree to the specified stream.
 */
public interface IStreamExporter {
    /**
     * Walks the tree using the specified tree walker and writes the resulting nodes to the specified output stream.
     *
     * @param out        the stream where the data should be written
     * @param treeWalker walker over the schema tree nodes
     */
    public void export(PrintWriter out, ITreeWalker<SchemaNode> treeWalker);
}
